home *** CD-ROM | disk | FTP | other *** search
/ Power Programmierung 2 / Power-Programmierung CD 2 (Tewi)(1994).iso / gnu / djgpp / src / libgplus.5 / libgplus / etc / adt-exam / patmain.cc < prev    next >
Encoding:
C/C++ Source or Header  |  1993-01-15  |  1.1 KB  |  56 lines

  1. // Tests the Patricia tree
  2.  
  3. #include <stream.h>
  4. #include <stdio.h>
  5. #include <string.h>
  6. #include "Patricia.h"
  7.  
  8. double start_timer (void);
  9. double return_elapsed_time (double);
  10.  
  11. const int MAX_KEY_LEN = 1000;
  12.  
  13. main (int argc, char *argv[])
  14. {
  15.   if (argc != 3)
  16.     {
  17.       cerr << "usage: " << argv [0] << " file1 file2\n";
  18.       return 1;
  19.     }
  20.   else
  21.     {
  22.       if (!freopen (argv [1], "r", stdin))
  23.         {
  24.           perror (argv [0]);
  25.           return 1;
  26.         }
  27.  
  28.       Patricia_Trie trie;
  29.       char key [MAX_KEY_LEN];
  30.  
  31.       while (gets (key)) 
  32.         trie.insert (key, 0);
  33.  
  34.       fclose (stdin);
  35.       if (! freopen (argv [2], "r", stdin))
  36.         {
  37.           perror (argv [0]);
  38.           return 1;
  39.         }
  40.  
  41.       start_timer ();
  42.  
  43.       while (gets (key))
  44.         {
  45.           Trie_Record *t = trie.find (key);
  46.           cout << key << ": " << (! strcmp (key, t->get_key ()) ? "is found!\n" : "is not found!\n");
  47.         }
  48.       
  49.       double Elapsed_Time = return_elapsed_time (0.0);
  50.       cout << "Time = " << Elapsed_Time << "\n";
  51.       fclose (stdin);
  52.       return 0;
  53.     }
  54.   
  55. }
  56.